package com.achievement.domain.vo;

import com.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * PaperVO
 */

@Data
public class PaperVO {

    /**
     * ID
     */
    private String id;

    /**
     * 名称
     */
    @Excel(name = "名称")
    private String name;

    /**
     * 英文名称
     */
    private String englishName;

    /**
     * 论文类型
     */
    @Excel(name = "论文类型")
    private String modeId;

    /**
     * 发表/出版时间
     */
    @Excel(name = "发表/出版时间",dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishDate;

    /**
     * 发表/刊物论文集
     */
    @Excel(name = "发表/刊物论文集")
    private String magazineName;

    /**
     * 刊物级别
     */
    @Excel(name = "刊物级别")
    private String paperLevelId;

    /**
     * 收录类别
     */
    @Excel(name = "收录类别")
    private String embodyTypeId;

    /**
     * 科学分区
     */
    @Excel(name = "SCI论文分区")
    private String sciPartition;

    /**
     * 组织机构单位表ID 所属单位ID
     */
    @Excel(name = "所属单位")
    private String unitId;

    /**
     * 教育部统计归属--学科类别id
     */
    @Excel(name = "教育部统计归属")
    private String subjectClassId;

    /**
     * 一级学科id
     */
    @Excel(name = "一级学科")
    private String subjectId;

    /**
     * 项目源id
     */
    @Excel(name = "项目来源")
    private String projectSourceId;

    /**
     * 发表范围id
     */
    @Excel(name = "发表范围")
    private String publishRangeId;

    /**
     * 字数
     */
    private BigDecimal wordNumber;

    /**
     * 学校署名
     */
    @Excel(name = "学校署名")
    private String schoolSign;

    /**
     * 是否翻译
     */
    private String isTranslated;

    /**
     * 卷期页
     */
    @Excel(name = "卷期页")
    private String juanQiYe;

    /**
     * DOI
     */
    @Excel(name = "DOI")
    private String doi;

    /**
     * 页面空间
     */
    private String pageSpace;

    /**
     * ISSN号
     */
    @Excel(name = "ISSN号")
    private String issn;

    /**
     * CN号
     */
    @Excel(name = "CN号")
    private String cn;

    /**
     * 发布单位
     */
    private String publishUnit;

    /**
     * 会议名称
     */
    @Excel(name = "会议名称")
    private String meetingName;

    /**
     * 会议地址
     */
    @Excel(name = "会议地址")
    private String meetingAddress;

    /**
     * 会议日期
     */
    private String meetingDate;

    /**
     * 文件ID
     */
    private String fileIds;
    /**
     * 文件名字
     */
    private String fileNames;

    /**
     * 笔记
     */
    private String note;

    /**
     * 源id
     */
    private String sourceId;

    /**
     * 关键词
     */
    private String keywords;

    /**
     * 论文摘要
     */
    private String paperAbstract;

    /**
     *
     */
    private String claimId;

    /**
     * URL
     */
    private String url;

    /**
     * 网络论文id
     */
    private String netPaperId;

    /**
     * 通讯作者id
     */
    private String txAuthorId;

    /**
     * 通讯作者名称
     */
    @Excel(name = "通讯作者")
    private String txAuthorName;

    /**
     * 第一作者id
     */
    private String firstAuthorId;

    /**
     * 第一作者名称
     */
    @Excel(name = "第一作者")
    private String firstAuthorName;

    /**
     * 第一作者账号
     */
    private String firstAuthorAccount;

    /**
     * 第一作者头衔id
     */
    private String firstAuthorTitleId;

    /**
     * 第一作者
     */
    private String firstAuthorSexid;

    /**
     * 第一作者教育等级id
     */
    private String firstAuthorEduLevelId;

    /**
     * 第一作者学位id
     */
    private String firstAuthorEduDegreeId;

    /**
     * 部门id
     */
    private String divisionId;

    /**
     * 作者数量
     */
    private Integer authorNumber;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态",readConverterExp ="-2=待完善,-1=暂存,1=审批中,2=审批通过,3=审批不通过")
    private String checkstatus;

    /**
     * 审核时间
     */
    private String checkdate;

    /**
     * 审核人
     */
    private String checker;


    /**
     * 论文索引编号
     */
    private String paperIndexNum;

    /**
     * 因素
     */
    @Excel(name = "影响因子")
    private BigDecimal factor;

    /**
     *
     */
    private String isNatureIndexMagazine;

    /**
     *
     */
    private Integer quotenum;

    /**
     * 编辑编号日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date editquotenumdate;

    /**
     *
     */
    private String authorpids;

    /**
     *
     */
    private String authorunitids;

    /**
     * 完整数据状态
     */
    private String completedatastatus;

    /**
     *
     */
    private String importPersonid;


    /**
     * 论文作者信息列表
     */
    private  List<PaperAuthorVO> authorList;

    /**
     * 所有作者
     */
    @Excel(name = "所有作者")
    private String authornames;

    /**
     * 刊物级别
     */
    @ApiModelProperty(value = "刊物级别")
    private List<String> paperLevelIdList;

    /**
     * 收录类别
     */
    @ApiModelProperty(value = "收录类别")
    private List<String> embodyTypeIdList;

    private String processInstanceId;

    private Boolean isAuditor;

    private String taskId;
}
